package org.akomantoso.core.io.util.group;

import java.util.Collections;
import java.util.HashMap;
import java.util.Map;

import org.akomantoso.core.data.Eol;
import org.akomantoso.core.data.Eop;
import org.akomantoso.core.data.NoteRef;
import org.akomantoso.core.data.group.ANmarker;
import org.akomantoso.core.io.util.Instantiator;

public final class ANmarkerGroup {

	private ANmarkerGroup() {
	}

	public static final Map<String, Instantiator<ANmarker>> MAP;

	static {

		Map<String, Instantiator<ANmarker>> temp = new HashMap<String, Instantiator<ANmarker>>();

		// Eop
		temp.put(Eop.ELEMENT, new Instantiator<ANmarker>() {
			public Eop instantiate() {
				return new Eop();
			}
		});

		// Eol
		temp.put(Eol.ELEMENT, new Instantiator<ANmarker>() {
			public Eol instantiate() {
				return new Eol();
			}
		});

		// noteRef
		temp.put(NoteRef.ELEMENT, new Instantiator<ANmarker>() {
			public NoteRef instantiate() {
				return new NoteRef();
			}
		});

		MAP = Collections.unmodifiableMap(temp);

	}
}
